package org.dxy.infrastructure.persistent.db.mybatispuls.po.query;

import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * BOM查询实体
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("bom_view")
public class BomViewPo {

    /** BOM ID */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /** 关联的产品ID */
    private Long productId;

    /** BOM版本号 */
    private String bomVersion;

    /** BOM类型 */
    private String bomType;

    /** BOM状态 */
    private String status;

    /** BOM来源 */
    private String source;

    /** BOM生效时间 */
    private LocalDateTime effectiveDate;

    /** BOM失效时间 */
    private LocalDateTime expiredDate;

    /** 创建人 */
    @TableField(fill = FieldFill.INSERT)
    private String createdBy;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdTime;

    /** 修改人 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updatedBy;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedTime;

    /** 逻辑删除标识 */
    @TableLogic
    private Integer deleted;
}